The present invention relates to the image display arts. It finds particular application in conjunction with providing surface shading for 3-D presentations of diagnostic medical images on video monitors and will be described with particular reference thereto. However, it is to be appreciated that the invention finds application in other areas, including providing surface shading in other 3-D displays, determining normals to surfaces, interfaces, or contours in computer or mathematical data, and the like.
Heretofore, three-dimensional appearing images of internal organs have been projected from CT and other medial diagnostic data. That is, shading is added to a video or other two-dimensional display to give the effect of depth in the direction perpendicular to the screen. Commonly, a planar array of pixels or viewing plane is defined relative to the three-dimensional array of the medical diagnostic data. Typically, the three-dimensional array of diagnostic data is characterized by gray scale values corresponding to each of a three-dimensional rectangular array of data points or voxels. The organ of which a three-dimensional appearing display is to be generated is typically buried within the data. Each pixel of the viewing or image plane is projected orthogonal to the viewing plane into the data. Each time the ray crosses into another voxel, the voxel gray scale value is compared with threshold gray scale values for the organ of interest. From the depth at which each ray intersects the organ and whether a ray intersects the organ at all, a map is generated of the surface contour of the organ when viewed from the viewing plane. Of course, because each of the voxels has a similar gray scale level, displaying this image would look more like a silhouette than a three-dimensional display.
To give meaning to the surface contour, shading is added to the exposed surfaces of the image. Several methods have been developed in the prior art for adding shading to medical and other three-dimensional images. These methods include depth shading, depth gradient shading, gray scale level gradient shading, and rendering with polygonal shapes. In depth shading, the simplest of these methods, the gray scale value of each voxel is displayed in inverse proportion to the distance from the viewing plane to the voxel at which the orthogonal ray intersected the organ of interest. The depth shading technique produces almost no fine detail on the surface, hence, has limited diagnostic value.
The other three methods each attempt to estimate the direction of the organ surface relative to the viewing plane orthogonal rays at each point of intersection. In depth gradient shading, an estimate of the surface inclination relative to the orthogonal ray from the viewing plane is determined by gradient operators on the depth image. Gray scale shading is added to each voxel in accordance with this angle of inclination. While the inclusion of surface inclination for shading improves the appearance of the images, gradient operators provide a relatively coarse quantization of the surface angles. That is, the surface normals estimated by this technique are not accurate which degrades the resultant image quality.
The image quality can be improved using the gray scale gradient shading techniques. In this technique, the gradient of the gray scale level along the surface is used to estimate the surface normal, rather than using depth or angle of the voxel surface. The estimation of the gradient in the voxel data can be performed using a number of operators of varying size. The high dynamic range of gray scale levels within a small spacial neighborhood produces superior image quality. However, this technique is unable to handle thin structures and it is inaccurate when estimating the surface normal in noisy images, i.e. when the signal to noise ratio is low.
In the polygonal shaped rendering technique, the data is pre-processed and the surface approximated with a set of polygons, e.g. triangles. The surface normal is readily computed as each polygon as being defined. In the Cuberille method, each surface voxel is treated as a small cube. The faces of the cube are output as small squares projected on the viewing screen. These polygon techniques have problems handling branching structures and tend to eliminate fine detail, especially when the polygons are large compared in size with a voxel.
The present invention contemplates a new and improved technique for determining surface normals.